﻿using BarTender;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BaseUi.Tool
{
    public class ApplicationTool
    {
        //public static void ProRePrint(BarTender.Application btapp, List<b> list, int star, string startsn, string endsn, string name)
        //{
        //    string info = "";
        //    //todo:标签
        //    string filePath = AppDomain.CurrentDomain.BaseDirectory + "补录标签.btw";
        //    BarTender.Format btFormat = btapp.Formats.Open(filePath, false, "");
        //    btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;  //设置同序列打印的份数 
        //    for (int i = 0; i + star < list.Count && i<13; i++)
        //    {
        //        info = "\r\n"+ info + "Site" + (i + 1)+":"+ list[i + star].TrayLayerNo+ "SN" + (i + 1)+":"+list[i + star].barCode;
        //        btFormat.SetNamedSubStringValue("Site" + (i + 1), list[i + star].TrayLayerNo); //向bartender模板传递变量 
        //        btFormat.SetNamedSubStringValue("SN"+(i+1), list[i + star].barCode); //向bartender模板传递变量 
        //    }
        //    if (star+13> list.Count)
        //    {
        //        for (int i = 0; i  < star+ 13- list.Count; i++)
        //        {
        //            btFormat.SetNamedSubStringValue("Site" + (13-i), ""); //向bartender模板传递变量 
        //            btFormat.SetNamedSubStringValue("SN" + (13 - i), ""); //向bartender模板传递变量 
        //        }
        //    }
        //    if (star+13< list.Count)
        //    {
        //        btFormat.SetNamedSubStringValue("count", $"{(star + 1) * 13} of {list.Count}"); //向bartender模板传递变量 
        //    }
        //    else
        //    {
        //        btFormat.SetNamedSubStringValue("count", $"{list.Count} of {list.Count}"); //向bartender模板传递变量 
        //    }
        //    btFormat.SetNamedSubStringValue("Mocode", $"当前出货单号（{list[0].moCode})"); //向bartender模板传递变量 
        //    btFormat.SetNamedSubStringValue("StartSN", startsn); //向bartender模板传递变量 
        //    btFormat.SetNamedSubStringValue("EndSN", endsn); //向bartender模板传递变量 
        //    btFormat.PrintOut(true, false); //第二个false设置打印时是否跳出打印属性
        //    btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); //退出时是否保存标签

        //    Logs.Write(name+":"+ star+":" + info, LogsType.InfoPrinted, DateTime.Now);
        //}

        public static void ProRePrint(Application btapp, ZhiKongInfo bat)
        {
            string text= bat.TestOS_Rev;
            if (bat.TestOS_Rev.Contains('_'))
            {
                var stext = bat.TestOS_Rev.Split('_');
                text = stext[stext.Length-1];
            }
            string info = "";
            string CPU1 = bat.CPU.Replace(" ", "");
            string BTMAC1 = bat.BT_MAC.Replace(" ", "");
            string cpu = CPU1;
            string btname = bat.BT_NAME;
            string btmac = BTMAC1.Substring(4);
            string ver = text;
            string sn = bat.SN;
            string erw = cpu+";"+btname+";"+btmac+";"+ver+";"+sn;

            //todo:标签
            string filePath = AppDomain.CurrentDomain.BaseDirectory + "智驾域外壳标签.btw";
            BarTender.Format btFormat = btapp.Formats.Open(filePath, false, "");
            btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;  //设置同序列打印的份数 
            btFormat.SetNamedSubStringValue("CPU", cpu); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("BTNAME", btname); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("BTMAC", btmac); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("VER", ver); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("SN", sn); //向bartender模板传递变量 
            //btFormat.SetNamedSubStringValue("ERW", erw); //向bartender模板传递变量 
            btFormat.PrintOut(true, false); //第二个false设置打印时是否跳出打印属性
            btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); //退出时是否保存标签
            Logs.Write(info, LogsType.Btapp, DateTime.Now);
        }

        internal static void ProCSPrint(Application btapp)
        {
            string info = "";
            string cpu = "CPU";
            string btname = "BTBAME";
            string btmac = "BTMAC";
            string ver = "TestOS_Rev";
            string sn = "SN";
            string erw = cpu+";"+btname+";"+btmac+";"+ver+";"+sn;
            string filePath = AppDomain.CurrentDomain.BaseDirectory + "智驾域外壳标签.btw";
            BarTender.Format btFormat = btapp.Formats.Open(filePath, false, "");
            btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;  //设置同序列打印的份数 
            btFormat.SetNamedSubStringValue("CPU", cpu); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("BTNAME", btname); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("BTMAC", btmac); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("VER", ver); //向bartender模板传递变量 
            btFormat.SetNamedSubStringValue("SN", sn); //向bartender模板传递变量 
            //btFormat.SetNamedSubStringValue("ERW", erw); //向bartender模板传递变量 
            btFormat.PrintOut(true, false); //第二个false设置打印时是否跳出打印属性
            btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); //退出时是否保存标签
            Logs.Write(info, LogsType.Btapp, DateTime.Now);
        }
    }
}
